package cn.easyutil.util.platform.wechat.base;

import cn.easyutil.util.javaUtil.StringUtil;

/**
 * 用户支付状态
 */
public enum WeChatPayStatus {

    /** —支付成功*/
    SUCCESS("SUCCESS"),

    /** —转入退款*/
    REFUND("REFUND"),

    /** —未支付*/
    NOTPAY("NOTPAY"),

    /** —已关闭*/
    CLOSED("CLOSED"),

    /** —已撤销（刷卡支付）*/
    REVOKED("REVOKED"),

    /** --用户支付中*/
    USERPAYING("USERPAYING"),

    /** --支付失败(其他原因，如银行返回失败)*/
    PAYERROR("PAYERROR"),

    /** 未知*/
    UNKNOW("UNKNOW");

    private String typeStr;

    private WeChatPayStatus(String typeStr){
        this.typeStr = typeStr;
    }


    public static WeChatPayStatus parse(String status){

        if(StringUtil.isEmpty(status)){
            return UNKNOW;
        }
        WeChatPayStatus[] values = WeChatPayStatus.values();
        for (WeChatPayStatus value : values) {
            if(value.getTypeStr().equalsIgnoreCase(status)){
                return value;
            }
        }
        return UNKNOW;
    }

    public String getTypeStr() {
        return typeStr;
    }

    public void setTypeStr(String typeStr) {
        this.typeStr = typeStr;
    }
}
